Java中的run()方法和start()的区别 |
您所在的位置:网站首页 › run 是什么歌 › Java中的run()方法和start()的区别 |
一、区别
Java中启动线程有两种方法,继承Thread类和实现Runnable接口,由于Java无法实现多重继承,所以一般通过实现Runnable接口来创建线程。但是无论哪种方法都可以通过start()和run()方法来启动线程,下面就来介绍一下他们的区别。 start方法:通过该方法启动线程的同时也创建了一个线程,真正实现了多线程。无需等待run()方法中的代码执行完毕,就可以接着执行下面的代码。此时start()的这个线程处于就绪状态,当得到CPU的时间片后就会执行其中的run()方法。这个run()方法包含了要执行的这个线程的内容,run()方法运行结束,此线程也就终止了。 run方法:通过run方法启动线程其实就是调用一个类中的方法,当作普通的方法的方式调用。并没有创建一个线程,程序中依旧只有一个主线程,必须等到run()方法里面的代码执行完毕,才会继续执行下面的代码,这样就没有达到写线程的目的。 下面我们通过一个很经典的题目来理解一下: public class Test { public static void main(String[] args) { Thread t = new Thread(){ public void run() { pong(); } }; t.run(); Sys |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |